[TDR Generic表] [MySQL协议兼容接口] 乐观锁

1. 属性说明

多步操作是数据库访问中的常见场景,如:先查询一条记录,然后在本地进行处理,最后写回数据库。由于TcaplusDB不支持事务,无法保证多步操作的原子性,因此TcaplusDB通过记录的版本号属性实现了一个简单的乐观锁功能,解决多步操作的原子性问题。

记录版本号是TcaplusDB的内置字段,对用户只读,用__version__表示。当插入一条新记录时,它的版本号为1,每次更新记录时,记录的版本号都会自动加1。

2. 准备工作

参见准备工作文档,完成mysql_table表的创建,并使用MySQL Client成功连接到TcaplusDB。

3. 示例SQL

-- 假设这里查询到的记录版本号是6
SELECT __version__, v1, v2 FROM mysql_table WHERE k1=1 AND k2=2 AND k3='one';

/*
 * do something
 */

-- 如果更新语句成功执行则记录版本号变为7
UPDATE mysql_table SET v1=1, v2=2 WHERE k1=1 AND k2=2 AND k3='one' AND __version__=6;

4. 常见问题

详见错误码含义和处理方法

5. 其它参考文档

results matching ""

    No results matching ""